#pragma once

#include "../stdafx.h"
#include "meshGeo.h"
#include "material.h"
#include "mathHelper.h"

class RenderItem
{
public:
	RenderItem() = default;
	XMFLOAT4X4 World = MathHelper::Identity4x4();
	XMFLOAT4X4 TexTransform = MathHelper::Identity4x4();

	UINT numFramesDirty = gNumFrameResources;

	//index into GPU cbuffer
	UINT ObjCBIndex = -1;

	MeshGeometry* Geo = nullptr;
	Material* Mat = nullptr;

	//drawcall param
	D3D12_PRIMITIVE_TOPOLOGY m_primType = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST;
	UINT indexCount = 0;
	UINT startIndexLocation = 0;
	UINT baseVertexLocation = 0;
};

